package com.qsl.ssyx.product.mapper;

import com.qsl.ssyx.model.product.SkuInfo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;

/**
 * <p>
 * sku信息 Mapper 接口
 * </p>
 *
 * @author 青衫泪
 * @since 2023-08-10
 */
public interface SkuInfoMapper extends BaseMapper<SkuInfo> {


    // 解锁库存
    void unlockStock(@Param("skuId") Long skuId, @Param("skuNum") Integer skuNum);

    // 根据商品id和商品数量，查看库存 (库存 - 锁定库存 > 商品数量，上锁，当前用户下单购商品，解锁。 )
    SkuInfo checkStock(@Param("skuId") Long skuId, @Param("skuNum") Integer skuNum);

    // 锁定库存：   锁定库存数 = 锁定库存数 + 商品数量
    Integer lockStock(@Param("skuId") Long skuId, @Param("skuNum") Integer skuNum);

    // 根据商品id，减库存 ：      锁定库存数 = 锁定库存数 - 商品数量
    void minusStock(@Param("skuId") Long skuId, @Param("skuNum") Integer skuNum);
}
